/*
========================================================================
 Name        : ExpensesAppUi.h
 Author      : Vishal Dharankar
 Copyright   : Created by Vishal Dharankar 
 Description : 
========================================================================
*/
#ifndef EXPENSESAPPUI_H
#define EXPENSESAPPUI_H

// [[[ begin generated region: do not modify [Generated Includes]
#include <aknviewappui.h>
// ]]] end generated region [Generated Includes]
#include "expense.h"

// [[[ begin generated region: do not modify [Generated Forward Declarations]
class CExpensesListBoxView;
class CExpensesFormView;
// ]]] end generated region [Generated Forward Declarations]

/**
 * @class	CExpensesAppUi ExpensesAppUi.h
 * @brief The AppUi class handles application-wide aspects of the user interface, including
 *        view management and the default menu, control pane, and status pane.
 */
class CExpensesAppUi : public CAknViewAppUi 
	{
public: 
	// constructor and destructor
	CExpensesAppUi();
	virtual ~CExpensesAppUi();
	void ConstructL();

public:
	// from CCoeAppUi
	TKeyResponse HandleKeyEventL(
				const TKeyEvent& aKeyEvent,
				TEventCode aType );

	// from CEikAppUi
	void HandleCommandL( TInt aCommand );
	void HandleResourceChangeL( TInt aType );

	// from CAknAppUi
	void HandleViewDeactivation( 
			const TVwsViewId& aViewIdToBeDeactivated, 
			const TVwsViewId& aNewlyActivatedViewId );

private:
	void InitializeContainersL();
	// [[[ begin generated region: do not modify [Generated Methods]
public: 
	// ]]] end generated region [Generated Methods]
	RArray<Expense>& ExpArray() { return this->iExpArray; }
	void SetSelIndex(TInt aIndex) { iSelIndex = aIndex; }
	TInt GetSelIndex() { return iSelIndex; }
	void SetAddOrView(TBool aState){ iAddOrView = aState; }
	TBool GetAddOrView(){ return iAddOrView; }
	// [[[ begin generated region: do not modify [Generated Instance Variables]
	
private: 
	CExpensesListBoxView* iExpensesListBoxView;
	CExpensesFormView* iExpensesFormView;
	// ]]] end generated region [Generated Instance Variables]
	
	
	// [[[ begin [User Handlers]
protected: 
	// ]]] end [User Handlers]
	RArray<Expense> iExpArray;
	TInt iSelIndex;
	TBool iAddOrView;
	};

#endif // EXPENSESAPPUI_H			
